import openAllIcon from "@/gcfx_web/assests/openall.svg";
import { IUseProCheckPage } from "@/gcfx_web/defaultConfig/config";
import { IProFileItem } from "@/gcfx_web/pages/ProDetailPage/proDetailPage";
import { IColumnsType } from "@/hy_dev_lib/src";
import { Button, Row, Space } from "antd";

const CustomRangeSel = (props: any) => {
  const { selCompareRangeCb, checkParams } = props;

  // 选择方法
  const toSelCompareRange = () => {};

  return (
    <Row wrap={false} align={"middle"} style={{ flex: "auto", overflow: "hidden" }}>
      <Button style={{ flex: "none", marginRight: 8 }} type="primary" onClick={toSelCompareRange}>
        选择对比范围
      </Button>
      <div style={{ flex: "auto", maxWidth: 294 }} className="common-tips text_over_flow" title={checkParams?.wjlxmc}>
        当前对比范围：{checkParams?.wjlxmc}
      </div>
    </Row>
  );
};

/**
 *
 * @returns
 */
const useProCheckPage: IUseProCheckPage = () => {
  const getCheckCustomParams = (proItem: IProFileItem, checkItem: any) => {
    // 检查接口 要添加的参数放在这里  比如生投的 材料单价对比 认质核价初稿 特殊处理 默认检查认质核价 proCheck接口的  isdefault 就不能传true  要添加一个文件类型的参数
    return {
      // isdefault: false,
      // filetype:,
    };
  };

  const getSaveCheckCustomParams = (checkProps: any) => {
    // 保存检查数据接口自定义参数 例如：生投需要一个额外的节点id参数
    return {
      // lcjdid: checkProps?.nodeInfo?.nodeId
    };
  };

  // 获取检查页面左侧文件列表(分组展示 组名 groupTitle  文件名取 name)
  const getCheckFileList = (fileList: IProFileItem[]) => {
    return fileList;
  };

  // 自定义检查页面右侧操作行
  const getCheckPageOperates = (openAllData: any, opened: boolean, changeLineHeight: any, autoLineHeight: boolean) => {
    return (
      <Row justify="space-between" className="operate-div">
        <Space>
          <Button type={autoLineHeight ? "primary" : "default"} onClick={changeLineHeight}>
            自动行高
          </Button>
          <Button type={!autoLineHeight ? "primary" : "default"} onClick={changeLineHeight}>
            最小行高
          </Button>
        </Space>
        <Space>
          <Button onClick={openAllData} icon={<img src={openAllIcon} />}>
            {opened ? "全部折叠" : "全部展开"}
          </Button>
        </Space>
      </Row>
    );
  };

  /**
   * 自定义检查项对应的表格列
   * @param checkKey 检查项的Key
   * @param columns 默认的列
   * @returns
   */
  const getCheckColumns = (checkKey: string, columns: IColumnsType, operateColsCount: number) => {
    // TODO: 生投 qdyswzx 没有 项目特征
    // const tmp = [...columns]
    // if (checkKey === "qdyswzx") {
    //   tmp.splice(0, 0, {
    //     ...tmp?.[0],
    //     // 减了一列 要改变合并数量
    //     onCell: (record) => shareCell(record, 7, operateColsCount),
    //   })
    //   tmp.splice(3, 1)
    // }
    // return tmp
  };

  const getBottomTabs = (defaultTabs: any[]) => {
    const tmp = [...defaultTabs];
    tmp.splice(1, 1);
    return tmp;
  };

  return {
    getCheckCustomParams, // 检查接口自定义参数
    getSaveCheckCustomParams, // 保存检查数据接口自定义参数(获取检查数据的接口 暂时也用这个)
    getCheckFileList,
    getCheckPageOperates,
    // getCheckColumns,
    // 综合单价检查 页面配置内容
    comUnitPriceConfig: {
      // CustomRangeSel, // 综合单价检查 自定义操作行左侧选择检查范围内容
      // getBottomTabs,  // 底部tab显示哪些东西
    },
    // customCheckPage: {}, // 自定义检查页面
  };
};

export default useProCheckPage;
